package org.apache.juddi.v3.client;
/*
 * Copyright 2001-2008 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import org.uddi.v2_service.Inquire;
import org.uddi.v2_service.Publish;


/**
 * The UDDIService is defined by the UDDI v2 specification as the Service from which
 * all UDDI Ports can be obtained. All known ports: Inquire, Publish
 * 
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.4-b01
 * Generated source version: 2.2
 * 
 */
@WebServiceClient(name = "UDDI_Service", targetNamespace = "urn:uddi-org:v2_service", wsdlLocation = "classpath:/uddi_v2_service.wsdl")
public class UDDIServiceV2
    extends Service
{

    private final static URL UDDISERVICE_WSDL_LOCATION;
    
    private final static QName UDDISERVICE_QNAME = new QName("urn:uddi-org:v2_service", "UDDI_Service");

    static {
        URL url = ClassUtil.getResource("uddi_v2_service.wsdl",UDDIServiceV2.class);
        UDDISERVICE_WSDL_LOCATION = url;
    }

    public UDDIServiceV2() {
        super(UDDISERVICE_WSDL_LOCATION, UDDISERVICE_QNAME);
    }

    public UDDIServiceV2(URL wsdlLocation) {
        super(wsdlLocation, UDDISERVICE_QNAME);
    }

    public UDDIServiceV2(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }

    /**
     * UDDI v2 Inquire API
     * @return
     *     returns Inquire
     */
    @WebEndpoint(name = "Inquire")
    public Inquire getInquire() {
        return super.getPort(new QName("urn:uddi-org:v2_service", "Inquire"), Inquire.class);
    }


    /**
     * UDDI v2 Publish API
     * @return
     *     returns Publish
     */
    @WebEndpoint(name = "Publish")
    public Publish getPublish() {
        return super.getPort(new QName("urn:uddi-org:v2_service", "Publish"), Publish.class);
    }


}
